• Topc: Cloud virtuailizsation
  • Important concept for hardware (may not be important for software)
  • Multi-level computer architecture
    • Vitrualization: When I write high-level language, I think the machine understands it (actually it does not)
    • Virtual machine: a program that takes high-level language as input and outputs low-level language
    • Contempory multilevel machine: digital logic level -> ... -> Problem-oriented language level
    • Differece between two machines: Instruction set architecture level
      • A C compiler finally generates instructions for ISA level
    • With VM, a program can be run on another machine without problem
    • Guest: some virual software running on a real machine
  • Motivations for virtualisation: hardware virtuaisation, performance (load balancing), computing capacity, resource utilisation, lack of space, saving energy
  • Managed execution:
    • Multiple machines on one real machine.
    • Multiple real machines as one.
    • Emulation (windows running on mac)
    • Isolation
  • Levels of virtualisation (execution environment):
    • Process level (OS, programming language) & System level (CPU)
    • Execution Virtualisation requires interfaces between levels
    • Kernel of OS: program that has the highest previliges
  • On top of guest, a OS can be run or an application can be run
  • Hypervisor: an impolementation of virtualisation reference model
    • Type I: run directly on top of hardware (bypass OS)
    • Type II: run on top OS (more complicated, have to do what an OS does, more expensive)
  • Virtualisation techniques